Владислав
Заглянувший
Joined: 29 Nov 2006
Posts: 1
Карма: 0 поощрить/наказать
|
Posted: Wed Nov 29, 2006 1:14 pm (написано за 6 минут 42 секунды)
Post subject: Запрос на вывод последнего сообщения
|
|
Есть скрипт новостной ленты. Есть таблица в базе данных mySQL. В таблицу забиты поля : id_news(уникальный номер новости), title(заголовок новости), whois (содержит имя человека который добавил новость), news(тело новости) и поле created (ДОЛЖНО содержать время когда новость была добавлена). Вопрос заключается в следующем: каким должен быть запрос к базе данных mySQL при добавлении новости, чтобы в поле сreated не было 0000-00-00 00:00:00? Вот скрипт обрабатывающий на данный момент форму с введёными полями title, whois && news. Code (php): | скопировать код в буфер обмена | <?php include ("../config.php"); include ("foradmin.php"); ?> <?php if (empty (www.php.net/empty)($_POST['message']) and empty (www.php.net/empty)($_POST['title']) and empty (www.php.net/empty)($_POST['whois'])) { echo (www.php.net/echo) ("<script language = 'javascript'>alert('Не все поля помеченные * заполнены');</script>"); exit (www.php.net/exit)(); } else $queryid = "SELECT max(id_news) FROM news"; $query_id = mysql_query (www.php.net/mysql_query)($queryid); if($query_id){ while ( $help = mysql_fetch_array (www.php.net/mysql_fetch_array)($query_id)) { //echo $help['0']; $chislo = $help['0']; $one = 1; $id_news = $chislo + $one; } } /*$title = htmlspecialchars(stripslashes($_POST['title'])); $news = htmlspecialchars(stripslashes($_POST['message']));*/ $sqlnews = str_replace (www.php.net/str_replace)("'","`",$_POST['message']); $sqltitle = str_replace (www.php.net/str_replace)("'","`",$_POST['title']); $sqlwhois = str_replace (www.php.net/str_replace)("'","`",$_POST['whois']); $sqldate = date (www.php.net/date)('Y-m-d H:i:s'); $query = "INSERT INTO news VALUES( '$id_news', '$sqltitle', '$sqlwhois', '$sqlnews' )";//В ЗАПРОСЕ ПЫТАЛСЯ ВСТАВИТЬ '$sqldate' Ничего не получалось if(mysql_query (www.php.net/mysql_query)($query)) { echo (www.php.net/echo) ("<html><head><title>Новость добавлена!</title><meta http-equiv='refresh' content = '10; url=http://freeman/index.php/'></head><body bgcolor = '".$bgclr."' color='".$txtclr."'><font style = 'color:red;'>Новость ".$sqltitle." успешно добавлена.<br />Подождите, сейчас Вы будете перемещены на главную страницу.<br />Если Ваш браузер не поддерживает автоматическую переадресацию <br />или Вы всё ещё не были перемещены нажмите </font><a href = '../index.php'>ЗДЕСЬ</a></body>"); } else echo (www.php.net/echo) ("<html><head><title>ОШИБКА</title></head><body bgcolor = '".$bgclr."' color='".$txtclr."'><font style = 'color:red;'>Новость ".$sqltitle." не добавлена.<br />Возможно это ошибка MySQL.</font><a href =# OnClick ='history.Back();'>Назад</a></body>"); ?> |
|
|
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 271 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Wed Nov 29, 2006 1:52 pm (спустя 37 минут; написано за 21 секунду)
Post subject:
|
|
Владиславкажется..
|
|
Kupuyc
Участник форума
Joined: 31 Mar 2006
Posts: 146
Карма: 5 поощрить/наказать
|
Posted: Thu Nov 30, 2006 3:08 pm (спустя 1 день 1 час 16 минут; написано за 2 минуты 8 секунд)
Post subject:
|
|
Можно также сделать поле времени создания новости как timestamp и не указывать значение этого столбца в INSERT, что приведет к его означиванию значением как то сделала бы функция NOW(). Однако при изменении любого иного столбца такое поле будет автоматом менять свое значение, если оно не указано в UPDATE.
|
|
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 271 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Thu Nov 30, 2006 3:40 pm (спустя 31 минуту; написано за 58 секунд)
Post subject:
|
|
Kupuyc
мне мускульный тип timestamp вообще не нравится. Последнее время я предпочитаю такие поля делать INT и работать с ними с помощью UNIX_TIMESTAMP()
|
|
Kupuyc
Участник форума
Joined: 31 Mar 2006
Posts: 146
Карма: 5 поощрить/наказать
|
Posted: Thu Nov 30, 2006 5:10 pm (спустя 1 час 29 минут; написано за 27 секунд)
Post subject:
|
|
offtopic: Maus, а каковы причины, если не секрет?
|
|
Maus
Модератор

Joined: 29 Jun 2003
Posts: 8151
Карма: 271 поощрить/наказать
Location: пос. Омсукчан Магаданской области
|
Posted: Thu Nov 30, 2006 7:53 pm (спустя 2 часа 43 минуты; написано за 34 секунды)
Post subject:
|
|
Kupuyc
из-за того, что в версиях ниже 4.1 - он строковый
|
|
Kupuyc
Участник форума
Joined: 31 Mar 2006
Posts: 146
Карма: 5 поощрить/наказать
|
Posted: Sat Dec 02, 2006 2:24 am (спустя 1 день 6 часов 31 минуту; написано за 28 секунд)
Post subject:
|
|
Какой занятный нюанс, спасибо, не ведал.
|
|